package com.westos.userauth.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * @Author: ShenMouMou
 * @CreateTime: 2019-09-13 10:21
 * @Description:西部开源教育科技有限公司
 */
public class MD5Util {
    public static String getMd5Str(String str) throws NoSuchAlgorithmException {
        //MD5 单向加密，无法破解  MD5对数据加密完之后，都是32位
        //获取MD5加密的这个类的对象
        MessageDigest digest = MessageDigest.getInstance("MD5");
        byte[] bytes = digest.digest(str.getBytes());
        StringBuffer sb = new StringBuffer();
        for (byte aByte : bytes) {
           // System.out.println(aByte);
          //  &:有0则0
           //         |:有1则1
            int by=aByte&0xff; // |  &

            //System.out.println(by);
            //再把int转换成16进制  字符串
            String string = Integer.toHexString(by);
            if(string.length()<2){
                string="0"+string;
            }

            //System.out.println(string);
            sb.append(string);

        }

        String md5Str = sb.toString();
        //System.out.println(md5Str);
        //System.out.println(md5Str.length());

        return md5Str;
    }
}
